User interface for integrating applications on a mobile communication device

ABSTRACT

A user interface, in accordance with the teachings described herein, is provided for integrating applications on a mobile communication device. An instant messaging user interface may be included for displaying an instant messaging communication that includes an instant messaging contact. An instant messaging user interface menu may be included for displaying a list of commands, one or more of the commands being specific to the displayed instant messaging contact, and the list of commands including a command associated with a calendar application. The user interface may be operable to automatically launch the calendar application in response to a user selecting the command associated with the calendar application. A field in the calendar application may be automatically populated with the instant messaging contact.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No. 10/982,293, filed Nov. 5, 2004, which claims priority from and is related to the following prior application: “User Interface For Integrating A Calendar Application With An Instant Messaging Application,” U.S. Provisional Application No. 60/567,563, filed May 3, 2004. These prior applications, including the entirety of the written description and drawing figures, are hereby incorporated into the present application by reference.

FIELD

The technology described in this patent document relates generally to the field of mobile communication devices. More particularly, this patent document describes user interfaces and methods for integrating various applications, such as a calendar, a contact list, an address book, and instant messaging in a mobile communication device.

BACKGROUND AND SUMMARY

Mobile communication devices (e.g., PDAs, cellular telephones, laptop computers, etc.) commonly include a number of different application programs, such as instant messaging applications, calendar applications, address book applications, electronic mail applications, and others. A user interface, in accordance with the teachings described herein, is provided for integrating applications on a mobile communication device. An instant messaging user interface may be included for displaying an instant messaging communication that includes an instant messaging contact. An instant messaging user interface menu may be included for displaying a list of commands, one or more of the commands being specific to the displayed instant messaging contact, and the list of commands including a command associated with a calendar application. The user interface may be operable to automatically launch the calendar application in response to a user selecting the command associated with the calendar application. A field in the calendar application may be automatically populated with the instant messaging contact.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an instant messaging communication displayed on an example instant messaging user interface.

FIG. 2 illustrates an example instant messaging user interface menu displayed on an instant messaging user interface.

FIG. 3 illustrates an example calendar user interface.

FIG. 4 illustrates an example calendar entry field within an example calendar user interface.

FIG. 5 illustrates an example address book user interface and an example address book user interface menu.

FIG. 6 illustrates an example contact list user interface and an example contact list user interface menu.

FIG. 7 illustrates an example instant messaging communication displayed on an instant messaging user interface.

FIG. 8 illustrates an example instant messaging user interface menu specific to a selected contact displayed on an instant messaging user interface.

FIG. 9 is a block diagram illustrating an example mobile communication device.

DESCRIPTION

With reference to FIG. 1, an instant messaging communication 1 displayed on an example instant messaging user interface is illustrated. An instant messaging application having the illustrated interface may, for example, be launched by selecting a pre-determined key or option on a mobile communication device. For example, the instant messaging application may be launched by selecting an application icon associated with the instant messaging application, by pressing the “Q” key or some other designated key or combination of keys associated with the instant messaging application, by selecting a “Quick Messages” option from a menu on a main user interface screen, or by some other means. A contact may then be selected from within the instant messaging application user interface. For instance, in the illustrated example the contact “Madonna” may have been be selected from a contact list. An instant messaging session may then be initiated from the instant messaging user interface, for instance by selecting an “Open Conversation” option (FIG. 6).

The example communication illustrated in FIG. 1 includes a “To:” field 2 specifying the selected contact (e.g., “Madonna”) and a message body 1 in which one or more communication messages with the selected contact are displayed. During the example instant messaging communication 1, a text message is received and displayed that includes reference to “the gang” 3, which may be, for example, a pre-defined group of contacts in an instant messaging contact list or address book. Similarly, another text message is input and displayed in the example communication 1 that includes reference to “Mike L.” 4, which may be, for example, a single contact in the instant messaging contact list or address book. An example address book is described below with reference to FIG. 5, and an example instant messaging contact list is described below with reference to FIG. 6.

With reference again to FIG. 1, when the name of a contact or group of contacts from the instant messaging contact list or address book is displayed on the instant messaging user interface, the interface creates a selectable field 3, 4, such as a hypertext link, as illustrated in FIG. 1 by the underlined contacts “Mike L.” 4 and “the gang” 3. Selecting the field 3, 4, for example by clicking or pressing a trackwheel, another input device, or by some other input means, may present a menu where you can choose any form of communication contact method already associated with the contact, i.e. initiate an instant messaging communication with the selected contact, initiate a phone conversation with the selected contact, access address book information for the selected contact, open a menu with options available for the selected contact, or perform other available functions specific to the selected contact.

FIG. 2 illustrates an example instant messaging user interface menu 6 that may be accessed from within the instant messaging user interface of FIG. 1. For example, the menu 6 may be accessed by clicking or pressing a trackwheel, another input device, or by some other input means. The example instant messaging user interface menu 6 includes a field 7 to select a “Get Together . . . ” option, a field 8 to select a “View Contact List” option, and fields for selecting other available options. The menu options 7, 8 may, for example, be executed by highlighting the option and clicking or pressing a trackwheel, another input device, or by some other input means.

Executing the “Get Together . . . ” option 7 from within the instant messaging menu 6 may cause the mobile communication device to automatically launch a calendar application, as shown in FIG. 3. The example calendar user interface 10 illustrated in FIG. 3 includes a list of time slots for the selected date, with each time slot including a field for entering text. For example, the text field for the 12:00 P time slot illustrated in FIG. 3 has been populated with the text “lunch with D J Shadow.” Similar to the instant messaging user interface, instant messaging contacts or groups entered into the calendar user interface 10 cause the interface 10 to display a selectable field 16, 17, such as a hypertext link. Selecting the field 16, 17 and clicking or pressing a trackwheel, another input device, or by some other input means from within the calendar application 10 may present a menu where you can choose any form of communication contact method already associated with the contact, i.e. initiate an instant messaging communication with the selected contact, initiate a phone conversation with the selected contact, access address book information for the selected contact, open a menu with options available for the selected contact, or perform other available functions specific to the selected contact.

In the example of FIG. 3, a calendar entry 14 is automatically selected for a proposed meeting at 7:00 P, Jul. 21, 2003, on a Friday. The time slot for the calendar entry (e.g. 7:00 P in the illustrated example) may be automatically selected based on the time of the current instant messaging communication. For example, the current instant messaging communication shown in FIG. 2 takes place at 7:00 PM, and therefore the calendar entry shown in FIG. 3 may be automatically selected at 7:00 P. The user may then select another date and/or time, if desired. Once a calendar entry is selected, the user may enter text via a keyboard or other textual input device.

FIG. 4 illustrates an example text entry field 19 for a calendar user interface 10. When accessed through the instant messaging user interface, the calendar entry field 19 may be automatically populated based on the context in which the “Get Together . . . ” option 7 was initiated. In the illustrated example, if the instant messaging menu 6 shown in FIG. 2 was initiated while the field “the gang” 3 was highlighted or otherwise identified (e.g., by positioning a cursor over the field), then the “Get Together . . . ” option 7 may operate to automatically populate the calendar entry field 19 shown in FIG. 4 with an entry including the instant messaging field “the gang” 21 after the user selects a time slot. For instance, in the example of FIG. 4, the “Get Together . . . ” option 7 may automatically populate the calendar entry field 19 with the text “meet with the gang” or with some other text referencing a scheduled meeting with the instant messaging contact “the gang.”

FIG. 5 illustrates an example address book user interface 23. As described above, an address book application may be automatically launched from a selectable field, such as a hypertext link, within the instant messaging application, the address book application or some other application on the mobile communication device. For example, the address book application may be automatically launched by selecting the field “the gang” illustrated in FIG. 1 and FIG. 4 and clicking or pressing a trackwheel, another input device, or by some other input means.

The example address book user interface 23 of FIG. 5 includes a list of instant messaging contacts and/or other contacts, and a search engine 26 operable to receive text from a keyboard or other textual input device and search the list for a particular contact. Also illustrated is an example address book user interface menu 24. The address book menu 24 may, for example, be accessed from within the address book application, or may be accessed from other applications. For example, the address book menu 24 or a menu having some or all of the address book menu options may be accessed from the calendar user interface by launching a menu function while a selectable field (e.g., “the gang”) is highlighted or otherwise selected. For instance, in the example of FIG. 4, the address book menu 24 or a menu having some or all of the address book menu options may be accessed by highlighting the field “the gang” 21 and launching a menu function (e.g., by clicking or pressing a trackwheel, another input device, or by some other input means.)

When the address book menu 24 is accessed while a contact is selected or otherwise identified from the list, menu options specific to the identified contact may be included. For instance, in the illustrated example the menu 24 has been accessed while the instant messaging contact “the gang” is highlighted, causing the option “Invite the gang” to be displayed in the menu 24. Upon selecting the “Invite the gang” option 28 from the menu 24, a message may be transmitted to each of the contacts listed within the contact group “the gang” 27, inviting the contacts to attend a scheduled meeting. If the contacts accept the invitation, then a calendar entry may be automatically populated within their respective calendar applications, similar to the calendar entry 19 illustrated in FIG. 4.

FIGS. 6-8 illustrate an example user interface and method for monitoring the availability status of a contact. Following is an example scenario, as illustrated in FIGS. 6-8, in which availability status information is accessed and utilized from an instant messaging user interface.

-   -   A mobile communication device user would like to set up a         meeting between a first contact (e.g., Madonna) and a second         contact (e.g., Mike L.) The user accesses status information         regarding the second contact (e.g. Mike L.) to determine that he         is currently in a meeting, but knows that he will generally         accept telephone calls in this status if he can from this user         if he thinks it is important. The user then uses the mobile         communication device to initiate an instant messaging         conversation with the first contact (e.g., Madonna) to determine         her availability for the proposed meeting. Upon confirming the         first contact's availability, the user then uses the mobile         communication device to telephone the second contact (e.g., Mike         L.) to set up the meeting.

FIG. 6 illustrates an example contact list user interface 35 for viewing availability information for one or more instant messaging contacts. The contact list 35 may be accessed, for example, by selecting the “View Contact List” option 8 from the example instant messaging user interface menu 6 shown in FIG. 2. The example contact list user interface 35 includes a list of contacts 36 that are currently in an instant message communication with the user, and a list of all the user's instant messaging contacts 37 that currently have the ability to communicate with the user. Also included are a list of the contacts 38 that are currently offline, a list of the pending contacts 39 that have been sent an email invitation, and a list of contacts that have been blocked by the user 40. Each list may be displayed or hidden, for example, by selecting a field 41, such as a graphical icon or other UI component, from the user interface 35.

The example contact list user interface 35 also displays an availability status for each of the listed contacts. The availability status indicates whether the instant messaging contact is currently available for an instant messaging communication, and may also indicate additional information regarding the contacts availability status. For example, FIG. 6 shows that “George W.” is “on the phone” 42, and therefore unavailable to chat in an instant message conversation with the user at this particular moment. The status of the contact “Madonna” 43, however, is listed as “available.” This alerts the user that “Madonna” 43 is currently present and available to chat if the user decides to initiate or resume an instant messaging communication.

Also illustrated in FIG. 6 is an example contact list user interface menu 44 for selecting options available for a selected one or more of the displayed contacts. The contact list menu 44 may, for example, be accessed by launching a menu function while one of the listed contacts is highlighted or otherwise selected. For instance, in the example of FIG. 6, a user has accessed the contact list user interface menu 44 by selecting the contact “Madonna” 43 and activating the menu function (e.g., by clicking or pressing a trackwheel, another input device, or by some other input means.) The menu 44 may include menu options that are specific to the selected contact (e.g., Madonna). For example, the example menu 44 includes an “Open Conversation” option 45 to initiate an instant messaging communication with the selected contact (e.g., Madonna), an “Email Invitation” option 46 to send an invitation to a contact in the user's contact list to accept and download the instant messaging application, a “Block” option 47 to block communications with a contact, and other available functions specific to the selected contact.

FIG. 7 illustrates an example instant messaging user interface 52 that may be accessed, for example, by selecting the “Open Conversation” option 45 from the example contact list user interface menu 44 shown in FIG. 6. In this example, the user is communicating with the contact “Madonna” 53 and has entered text that includes the name of another contact, “Mike L.” 54. The instant messaging user interface 52 recognizes the contact name (Mike L.) from the contact list or the address book in the entered or received text and generates a link, which may be selected, for example, by highlighting the contact name and clicking or pressing a trackwheel, another input device, or by some other input means. Selecting the link opens a user interface menu 55 specific to the contact, as illustrated in FIG. 8. The user interface menu 55 includes menu options specific to the contact, including options which operate to launch specific communication applications and populate fields within the applications with the appropriate contact information. For example, if a user selects the menu option “Email Mike L.” 56, then the mobile communication device may launch an electronic messaging application and automatically populate the recipient field of an outgoing electronic message (i.e., the “to” field) with the email address for the contact (Mike L.) from the address book. Similarly, if a user selects the menu option “Call Mike L. (Work)” 57, then the mobile communication device may initiate a phone call using the work phone number stored for the contact (Mike L.) from the address book.

FIG. 9 is a block diagram illustrating an example mobile communication device 2100 that may include the example user interfaces described herein. The mobile device 2100 includes a processing subsystem 2138, a communications subsystem 2111, a short-range communications subsystem 2140, a memory subsystem 2124, 2126, and various other device subsystems and/or software modules 2142. The mobile device 2100 also includes a display 2122, a serial port 2130, keyboard 2132, a speaker 2134, a microphone 2136, and one or more auxiliary input/output devices 2128.

The processing subsystem 2138 controls the overall operation of the mobile device 2100. Operating system software executed by the processing subsystem 2138 may be stored in a persistent store, such as a flash memory 2124, but may also be stored in other types of memory devices in the memory subsystem, such as a read only memory (ROM) or similar storage element. In addition, system software, specific device applications, or parts thereof, may be temporarily loaded into a volatile store, such as a random access memory (RAM) 2126. Communication signals received by the mobile device 2100 may also be stored to RAM 2126.

The processing subsystem 2138, in addition to its operating system functions, enables execution of software applications 2124 on the device 2100. A predetermined set of applications that control basic device operations, such as data and voice communications, may be installed on the device 2100 during manufacture. In addition, a personal information manager (PIM) application, including an electronic messaging application, may be installed on the device. The PIM may, for example, be operable to organize and manage data items, such as e-mail, calendar events, voice mails, appointments, and task items. The PIM application may also be operable to send and receive data items via the wireless network 2119.

Communication functions, including data and voice communications, are performed through the communication subsystem 2111, and possibly through the short-range communications subsystem 2140. The communication subsystem 2111 includes a receiver 2112, a transmitter 2114 and one or more antennas 2116, 2118. In addition, the communication subsystem 2111 also includes a processing module, such as a digital signal processor (DSP) 2120 or other processing device(s), and local oscillators (LOs) 2113. The specific design and implementation of the communication subsystem 2111 is dependent upon the communication network in which the mobile device 2100 is intended to operate. For example, a mobile device 2100 may include a communication subsystem 2111 designed to operate within the Mobitex™ mobile communication system, the DataTAC™ mobile communication system, a GSM network, a GPRS network, a UMTS network, and/or an EDGE network.

Network access requirements vary depending upon the type of communication system. For example, in the Mobitex and DataTAC networks, mobile devices are registered on the network using a unique personal identification number or PIN associated with each device. In UMTS and GSM/GPRS networks, however, network access is associated with a subscriber or user of a device. A GPRS device therefore requires a subscriber identity module, commonly referred to as a SIM card, in order to operate on a GSM/GPRS network.

When required network registration or activation procedures have been completed, the mobile device 2100 may send and receive communication signals over the communication network 2119. Signals received by the antenna 2116 from the communication network 2119 are routed to the receiver 2112, which provides signal amplification, frequency down conversion, filtering, channel selection, etc., and may also provide analog to digital conversion. Analog-to-digital conversion of the received signal allows the DSP to perform more complex communication functions, such as demodulation and decoding. In a similar manner, signals to be transmitted to the network 2119 are processed (e.g., modulated and encoded) by the DSP 2120 and are then provided to the transmitter 2114 for digital to analog conversion, frequency up conversion, filtering, amplification and transmission to the communication network 2119 (or networks) via the antenna 2118.

In addition to processing communication signals, the DSP 2120 provides for receiver 2112 and transmitter 2114 control. For example, gains applied to communication signals in the receiver 2112 and transmitter 2114 may be adaptively controlled through automatic gain control algorithms implemented in the DSP 2120.

In a data communication mode, a received signal, such as a text message or web page download, is processed by the communication subsystem 2111 and input to the processing device 2138. The received signal is then further processed by the processing device 2138 for output to a display 2122, or alternatively to some other auxiliary I/O device 2128. A device user may also compose data items, such as e-mail messages, using a keyboard 2138 and/or some other auxiliary I/O device 2128, such as a touchpad, a rocker switch, a thumb-wheel, or some other type of input device. The composed data items may then be transmitted over the communication network 2119 via the communication subsystem 2111.

In a voice communication mode, overall operation of the device is substantially similar to the data communication mode, except that received signals are output to a speaker 2134, and signals for transmission are generated by a microphone 2136. Alternative voice or audio I/O subsystems, such as a voice message recording subsystem, may also be implemented on the device 2100. In addition, the display 2122 may also be utilized in voice communication mode, for example, to display the identity of a calling party, the duration of a voice call, or other voice call related information.

The short-range communications subsystem 2140 enables communication between the mobile device 2100 and other proximate systems or devices, which need not necessarily be similar devices. For example, the short-range communications subsystem 2140 may include an infrared device and associated circuits and components, or a Bluetooth™ communication module to provide for communication with similarly-enabled systems and devices.

This written description uses examples to disclose the invention, including the best mode, and also to enable a person skilled in the art to make and use the invention. The patentable scope of the invention may include other examples that occur to those skilled in the art. 

1. A method of operating a mobile device, wherein said method comprising: displaying an indicator of a group in a first application; detecting a selection of the indicator; and in response to the detecting, executing an action for the group in a second application.
 2. The method of claim 1 further comprising: accessing a menu after the indicator is selected; displaying an option in the menu; selecting the option in the menu; and in response to the selecting of the menu, executing an action for the group in a second application.
 3. The method of claim 1 wherein the action is transmitting a message to the group.
 4. The method of claim 1 wherein the action is populating a calendar entry for the group.
 5. The method of claim 3 wherein the message is an invitation to attend a meeting.
 6. The method of claim 1 wherein the first application is an instant messaging application and the second application is a calendar application.
 7. The method of claim 1 wherein the first application is an address book application and the second application is an instant messaging application.
 8. The method of claim 1 wherein the first application is a calendar application and the second application is an instant messaging application.
 9. The method of claim 1 wherein the identifying comprises highlighting the group.
 10. The method of claim 5 wherein the meeting is scheduled according to the availability of attendees.
 11. A method of operating a mobile device comprising: displaying an indicator of a group in an instant messaging application; detecting a selection of the indicator; and in response to the selecting, executing an action for the group in a calendar application.
 12. The method of claim 11 wherein the selection comprises highlighting the indicator.
 13. The method of claim 11 wherein the selection comprises identifying the indicator.
 14. An apparatus for operating a mobile device, wherein said apparatus comprises: a processor, and memory storing instruction, that when executed cause the apparatus to generate a group indicator for display in a first application, detect a selection of the indicator, and in response to detection, execute an action for the group in a second application.
 15. The apparatus of claim 14, wherein the processor, and memory storing instruction, that when executed cause the apparatus to access a menu after the indicator is selected, display an option in the menu, select the option in the menu, and in response to the selecting of the menu, execute an action for the group in a second application.
 16. The apparatus of claim 14 wherein the action comprises transmitting a message to the group.
 17. The apparatus of claim 14 wherein the action comprises populating a calendar entry for the group.
 18. The apparatus of claim 16 wherein the message comprises an invitation to attend a meeting.
 19. The apparatus of claim 14 wherein the first application comprises an instant messaging application and the second application is a calendar application.
 20. The apparatus of claim 14 wherein the first application comprises an address book application and the second application is an instant messaging application.
 21. The apparatus of claim 14 wherein the first application comprises a calendar application and the second application is an instant messaging application.
 22. The apparatus of claim 14 wherein the identifying comprises highlighting the group.
 23. The apparatus of claim 18 wherein the meeting is scheduled according to the availability of attendees.
 24. An apparatus for operating a mobile device, wherein said apparatus comprises: a processor, and memory storing instructions, that when executed cause the apparatus to generate a group indicator for display in a first application, detect a selection of the indicator, and in response to detection, execute an action for the group in a calendar application.
 25. The apparatus of claim 24 wherein the selection comprises identifying the indicator. 